package projeto.repository.impl;

import projeto.Database;
import projeto.domain.Usuario;
import projeto.repository.UsuarioRepository;

public class UsuarioDAO implements UsuarioRepository {

	@Override
	public void insertUsuario( final Usuario usuario ) {
		
		String query = "INSERT INTO mydb.usuario ( nome, email, nivel, telefone, senha ) " +
			" VALUES ( '" + usuario.getNome() + "', '" + usuario.getEmail() + "', " + usuario.getNivel().getId() + 
					", '"+ usuario.getTelefone() + "', '" + usuario.getSenha() + "'  ) ";
		
		Database.executeUpdate( query );		
	}

	@Override
	public void updateUsuario( final Usuario usuario ) {
		
		String query = "UPDATE mydb.usuario set nome = '"+ usuario.getNome() + "', " +
				" email = '" + usuario.getEmail() + "', " +
				" nivel = '" + usuario.getNivel().getId() + "', " +
				" telefone = '" + usuario.getTelefone() + "', " +
				" senha = '" + usuario.getSenha() + "' WHERE id = " + usuario.getId();
		
		Database.executeUpdate( query );		
	}
	
	@Override
	public Usuario searchUsuario( final String usuarioEmail ) {
		
		String query = "SELECT * FROM mydb.usuario WHERE email = '" + usuarioEmail + "' LIMIT 1 ";
		
		return Database.searchUsuario( query );
	}
	
	@Override
	public Usuario searchUsuario( final String usuarioEmail, final int usuarioId ) {
		
		String query = "SELECT * FROM mydb.usuario WHERE email = '" + usuarioEmail + "' AND id <> "+  usuarioId +" LIMIT 1 ";
		
		return Database.searchUsuario( query );
	}
	
	@Override
	public Usuario loginUsuario( final String login, final String senha ) {
		
		String query = "SELECT * FROM mydb.usuario WHERE email = '" + login + "' AND senha = '" + senha + "'";
		
		return Database.searchUsuario( query );
		
	}
}
